/**
 * 常用工具函数集合
 */

export function formatDate(date, format = 'YYYY-MM-DD') {
  // 日期格式化实现
  return new Date(date).toISOString().split('T')[0];
}

export function debounce(fn, delay = 300) {
  // 防抖函数实现
  let timer = null;
  return function(...args) {
    if (timer) clearTimeout(timer);
    timer = setTimeout(() => {
      fn.apply(this, args);
    }, delay);
  };
}

export function throttle(fn, interval = 300) {
  // 节流函数实现
  let canRun = true;
  return function(...args) {
    if (!canRun) return;
    canRun = false;
    setTimeout(() => {
      fn.apply(this, args);
      canRun = true;
    }, interval);
  };
}